1. Field of the Invention
The present invention relates in general to computers, and more particularly to a system and method of communication between components in a storage system.
2. Description of the Prior Art
In storage controller components such as the IBM® DS8000 and DS6000 storage controllers, communication between the ESSNI (enterprise storage server network interface) server and the NI (network interface) server running in each central electronic complex (CEC) of a CEC storage controller is performed via transport control protocol/internet protocol (TCP/IP) sockets. These sockets are opened at startup time, and the connection remains active as long as the NI is running. The communication path is bidirectional. The communication path is used to send requests from the ESSNI client to a microcode layer that processes the respective request. Microcode layers use the communication path to send asynchronous events to ESSNI client applications.
For requests from ESSNI client applications to a microcode layer that will process the request, the NI server will send the request to a device driver using a Kernel Pipe Interface. The operating system (OS) will receive the request from the driver and forward the request to different microcode layers resident in a respective CEC kernel.
For asynchronous events from a microcode layer to the ESSNI client application that will process the asynchronous event, the OS will send the asynchronous event through the Kernel Pipe Interface to the NI server. The NI server will then route the asynchronous event to the ESSNI client application through the communication path.
For a variety of reasons, errors can occur in the connection path between ESSNI server and CEC, and vice-versa. In the case of a catastrophic communication error, the ESSNI server will not be able to send the respective command to the CEC. Customers can suffer from long hours of downtime because the customer cannot have access to storage controller resources until the communication error is fixed.